home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr47
/
alt_lan.zip
/
TCL.ASC
< prev
Wrap
Text File
|
1995-02-02
|
3KB
|
209 lines
_THE TCL PROGRAMMING LANGUAGE_
by John K. Ousterhout
Example 1:
(a)
Enter: expr 3 << 2
Returned value: 12
(b)
Enter: expr 14.1*6
Returned value: 84.6
(c)
Enter: expr (3 > 4) || (6 <= 7)
Returned value: 1
Example 2:
button .b -text "Hello, world!" -command exit
pack .b
Example 3:
#!/usr/local/bin/wish -f
button .b -text "Hello, world!" -command exit
pack .b
Example 4:
(a)
-command "puts Good-bye!; exit"
(b)
destroy .b
source hello
Example 5:
(a)
Enter: set a 44
Returned value: 44
(b)
Enter: expr $a*4
Returned value: 176
(c)
Enter: set a 44
set b [expr $a*4]
Returned value: 176
(d)
set x \$a
set newline \n
Example 6:
(a)
proc power {base p} {
set result 1
while {$p0} {
set result [expr $result*$base]
set p [expr $p-1]
}
return $result
(b)
Enter: power 2 6
Returned value: 64
Enter: power 1.15 5
Returned value: 2.01136
Example 6:
(a)
proc power {base p} {
set result 1
while {$p0} {
set result [expr $result*$base]
set p [expr $p-1]
}
return $result
(b)
Enter: power 2 6
Returned value: 64
Enter: power 1.15 5
Returned value: 2.01136
Example 7:
(a)
while (p>0) {
result *= base;
p -= 1;
}
(b)
while {$p>0} {
set result [expr $result*$base]
set p [expr $p-1]
}
(c)
set {$p>0} {
set result [expr $result*$base]
set p [expr $p-1]
}
Example 8:
#!/usr/local/bin/wish -f
proc power {base p} {
set result 1
while {$p>0} {
set result [expr $result*$base]
set p [expr $p-1]
}
return $result
}
entry .base -width 6 -relief sunken -textvariable base
label .label1 -text "to the power"
entry .power -width 6 -relief sunken -textvariable power
label .label2 -text "is"
label .result -textvariable result
pack .base .label1 .power .label2 .result -side left \
-padx 1m -pady 2m
bind .base <Return> {set result [power $base $power]}
Example 9:
(a)
Enter: exec grep #include tk.h
Returned value: #include <tcl.h>
#include <X11/Xlib.h>
#include <stddef.h>
(b)
#!/usr/local/bin/wish -f
set id 0
entry .entry -width 30 -relief sunken -textvariable cmd
pack .entry -padx 1m -pady 1m
bind .entry <Return> {
set id [expr $id + 1]
if {$id > 5} {
destroy .b[expr $id - 5]
}
button .b$id -command "exec <@stdin >@stdout $cmd" \
-text $cmd
pack .b$id -fill x
.b$id invoke
.entry delete 0 end
}
Example 10:
(a)
.entry configure -background yellow
(b)
.b1 configure -foreground brown
.b1 flash>